[Main menu]

    The AMIDiag 4.5 main menu has the following items:

        {System Board menu},
        {Memory menu},
        {Hard disk menu},
        {Floppy menu},
        {Keyboard menu},
        {Video menu},
        {Misc menu},
        {User menu},
        {Options menu}.

    Use the left and right arrow keys to select a menu.
    Then use the up and down arrow keys to select a test. 
    Press <Enter> to run the test. Press <F1> at any time to 
    display a Help screen.

    If using a mouse, you can double-click on a menu item to select
    that item. To select a test to be run in batch mode, single-click 
    on the test. Single-click on a selected test to deselect it.

    See also - {About AMIDiag}

[About AMIDiag]

    AMIDiag 4.5 provides the most comprehensive tests for advanced
    PC technologies like {EISA}, {PCI}, {Plug&Play}, and {PCMCIA}.

    Equally outstanding is the SYSINFO utility that is part of AMIDiag.
    SYSINFO can detect resource allocation (such as IRQ and DMA
    assignments) for SCSI controllers, IDE controllers, sound cards, 
    CD-ROM drives, and many other types of devices.


[System board menu]

    This set of diagnostic tests checks motherboard functions.
    The tests are:


    {Basic Functionality test},
    {CPU Protected Mode test},
    {Processor speed test},
    {Coprocessor test},
    {DMA controller test},
    {Interrupt controller test},
    {Timer test},
    {Real time clock test},
    {CMOS validity test},
    {EISA system test},
    {PCI system test}

    See also - {Main menu}
               {About AMIDiag}
         

[Memory menu]

    This set of tests checks the memory functions. The tests are:


    {BIOS ROM test},
    {Parity test},
    {Pattern test},
    {Walking 1's test},
    {Walking 0's test},
    {Random read/write test},
    {Address test},
    {Refresh test},
    {Cache memory test}

    See also - {Main menu}
               {About AMIDiag}


[Hard disk menu]

    This set of tests checks the hard disk drive functions.
    The tests are:


    {Hard disk format},
    {Auto interleave},
    {Media analysis},
    {Performance test},
    {Seek test},
    {Read/verify test},
    {Check test cyl},
    {Force bad tracks}

    See also - {Main menu}
               {About AMIDiag} 
    
[Basic Functionality Test]

    The Basic Functionality Test runs in one of two modes,
    depending on the {CPU} installed in the system.

    If the processor is an 80286, the test is run in 16-bit
    mode and checks:

    *    the functionality of the 16-bit registers,
    *    {16 bit flags}, and
    *    special 80286 instructions.


    If the processor is an 80386 or higher:

     The test is run in 32-bit mode and checks:

    *    the functionality of the 32-bit registers, 
    *    {32 bit flags}, and 
    *    special 80386 and 80486 instructions.

[CPU Protected Mode Test]

    The CPU Protected Mode Test tests the {protected mode}
    features of Intel 80286 and above {CPU}s. 

    The processor is switched to protected mode and then all 
    protected mode special instructions are tested. 

    For example, a protected mode selector is loaded with a 
    segment limit of 256 bytes. Then an LSL (Load Segment Limit)
    instruction is used to make sure it returns the segment
    limit properly.

[Processor Speed Test]

    This test determines and displays the CPU clock speed by
    measuring the time taken to execute a specific instruction.
    The time is calculated by using a separate clock source
    with a known frequency. 

    Special care has been taken to eliminate the effect of any 
    {prefetch queue} and cache memory. The CPU speed is displayed 
    in bar chart form. The CPU clock speeds of commercially 
    available CPUs are displayed on the scale for reference. 

[Coprocessor Test]

    This test checks the functionality of the 80287 or 80387
    math coprocessor. 

    The tests include loading and storing the control and 
    status word, data transfer between CPU and NPX, and 
    exception checking while the data transfer is in progress.

[DMA Controller Test]

    The {DMA} Controller Test is a series of read/write tests
    on the memory address registers and page registers of DMA
    controllers 1 and 2.

[Interrupt Controller Test]

    This test performs a series of read/write tests on the {interrupt}
    mask registers of the interrupt controller. It also checks for
    stray interrupts by setting the mask for all interrupts and
    then enabling the processor interrupt.


[Timer Test]

    This test checks the accuracy of the timer count by
    calibrating it against the periodic interrupt of the real
    time clock ({RTC}).

[Real Time Clock Test]


    This test checks the accuracy of the real time clock by
    calibrating it against the timer (IRQ 0) interrupt.

[CMOS Validity Test]

    This test checks the condition of AT {CMOS} RAM
    (non-volatile memory). 

    The test makes sure that the CMOS battery is in good
    condition and that the CMOS RAM checksum is correct.

[EISA system test]

    This test runs on {EISA} systems only.

    This test performs read/write/compare tests on some
    EISA-specific {DMA} and {interrupt} controller registers.
    It also checks the EISA software NMI and fail-safe timer.


[PCI system test]

    This test runs on {PCI} systems only.

    This test scans the PCI bus and finds all PCI devices.
    Then it uses a different procedure to find the same devices.
    It checks for all valid combinations of PCI bus number, device
    number and function number. It also checks the validity of PCI
    BIOS32 service directories and the generation of PCI special
    cycles.

[BIOS ROM Test]

    The {BIOS ROM} test checks the data path of the BIOS
    ROM and also assures that the ROM is write-protected.

    A shadowed ROM may remain write-enabled by mistake, which may
    cause serious problems.


[Parity Test]

    This test reads all memory locations and checks for parity
    errors in the entire memory space.

    All IBM AT-compatible systems include memory {parity} checking
    circuitry. When the {CPU} accesses a memory location that has
    a parity error, a bit is set in a specific register and an
    NMI (nonmaskable interrupt) is generated. The AMIDiag parity 
    test captures the interrupt so that the system does not crash 
    even when a parity error is encountered, Then it reads the 
    entire memory region for parity errors.


[Pattern Test]

    This test performs a comprehensive read/write test on the
    entire memory space, using worst-case bit patterns
    such as AA55 (1010101001010101).

    This test will identify most memory problems.

[Walking 1's Test]

    This test identifies shorts on data lines. The following
    diagram explains how this test works.

           ┌───────────────────────────────────────────┐                       
           │     M E M O R Y            D A T A        │                      
           └──┐  ┌─┐  ┌─┐  ┌─┐  ┌─┐  ┌─┐  ┌─┐  ┌─┐  ┌──┘                     
              │D7│ │D6│ │D5│ │D4│ │D3│ │D2│ │D1│ │D0│                        
              └┐┌┴─┴┐┌┘ └┐┌┘ └┐┌┘ └┐┌┘ └┐┌┘ └┐┌┘ └┐┌┘                        
    BUS ───────┼┼───┼┼───┼┼───┼┼───┼┼───┼┼───┼┼───┼┼────────────             
               └┘   └┘   └┘   └┘   └┘   └┘   └┘   └┘                         

    This test writes a rolling 1s pattern in memory. It first
    writes 1, then 2, then 4, then 8, then 16, etc, so that in the 
    written data, only one bit is on at a time.

    Consider the memory chip shown above. It has a short between
    data bits 7 and 6 (shown as D7 and D6). The walking 1s
    test will pass up to the data pattern 20h (bit 5 on). When this
    test writes 40h (bit 6 on), it reads back 0C0h (bits 7 and 6 on), 
    because bits 7 and 6 are shorted together.

    The walking 1s test is useful in isolating data shorts.

    
[Walking 0's Test]

    This test identifies open data lines. The following
    diagram explains how this test works.

           ┌───────────────────────────────────────────┐                       
           │     M E M O R Y            D A T A        │                      
           └──┐  ┌─┐  ┌─┐  ┌─┐  ┌─┐  ┌─┐  ┌─┐  ┌─┐  ┌──┘                     
              │D7│ │D6│ │D5│ │D4│ │D3│ │D2│ │D1│ │D0│                        
              └┐┌┴─┴┐┌┘ └┐┌┘ └┐┌┘ └┐┌┘ └┐┌┘ └┐┌┘ └┐┌┘                        
               ││   └┘   ││   ││   ││   ││   ││   ││  
    BUS ───────┼┼────────┼┼───┼┼───┼┼───┼┼───┼┼───┼┼────────────             
               └┘        └┘   └┘   └┘   └┘   └┘   └┘                         

    This test writes a rolling 0s pattern in memory. It first
    writes FEh, then FDh, then FBh, etc, so that in the written
    data, only one bit is 0 at a time. 

    Consider the memory chip shown above. It has an open data pin
    in bit position 6 (shown as D6). The walking 0s test will pass 
    up to the data pattern DFh (bit 5 off). When this test writes
    BFh (bit 6 off), it reads back FFh, because bit 6 is open and 
    will always appear as set.

    The walking 0s test is useful in isolating data opens.


[Random read/write test]

    This test uses a pseudo-random number generator to
    generate random addresses to the entire memory area. It 
    then writes random data to the location, reads
    it back, and compares the data read with the data written.

    Most motherboards have 32 KB 50 to 2 MB of cache memory.
    However, depending on the cache algorithm, soft or flaky errors 
    in dynamic memory are sometimes difficult to catch. If a 
    memory test progresses sequentially, after some time it starts
    accessing only cache memory. The random read/write test defeats
    the cache strategy and accesses the DRAM as much as possible.
 
    This test is also useful in finding cache loading problems 
    in motherboards. Since this test produces cache misses more 
    frequently than any other application program, this test 
    exercises the cache loading thoroughly.  

[Address Test]

    This test checks for shorts and opens on address lines.
    The following diagram explains how the address test works.

           ┌───────────────────────────────────────────┐                       
           │     M E M O R Y       A D D R E S S       │                      
           └──┐  ┌─┐  ┌─┐  ┌─┐  ┌─┐  ┌─┐  ┌─┐  ┌─┐  ┌──┘                     
              │A7│ │A6│ │A5│ │A4│ │A3│ │A2│ │A1│ │A0│                        
              └┐┌┴─┴┐┌┘ └┐┌┘ └┐┌┘ └┐┌┘ └┐┌┘ └┐┌┘ └┐┌┘                        
    BUS ───────┼┼───┼┼───┼┼───┼┼───┼┼───┼┼───┼┼───┼┼────────────             
               └┘   └┘   └┘   └┘   └┘   └┘   └┘   └┘                         

    The address test writes a value in one location of memory
    and then scans the entire memory region to find a
    reflection of that value. The address locations are so
    selected that in the complete address, only one bit
    remains set at a time. For example,, this test writes to
    memory locations 1, 2, 4, 8, 16, etc.

    In the memory chip shown above, address bits 7 and 6 are shorted
    together. Any value written to xxxxxx40 will also appear at 
    xxxxxC0. On the other hand, if bit 7 if open, the address
    xxxxxx01 becomes the same as xxxxxx81, since address bit 7
    always remains high. The value written at xxxxxx01 will be
    duplicated at xxxxxx81.

[Refresh Test]

    This test makes sure the refresh circuitry is functioning and
    measures the refresh interval. 

    Bit 4 of I/O port 0061h is set every time refresh takes
    place. By polling port 0061h over a known period of time, it is
    possible to calculate the refresh interval. An error is reported
    if this interval is not within +/- 5 percent of the standard
    refresh interval of 15 microseconds. 

[Cache Memory Test]

    If AMIDiag detects {cache} memory, this test displays the 
    internal and external cache memory size.

[Hard Disk Format]


    THIS TEST IS DESTRUCTIVE. IT ERASES ALL DATA ON THE DISK.
    
    Use the Hard Disk Format Test to integrate a new hard
    disk into the system or reformat a used hard disk that
    has developed some bad tracks because of aging or poor
    handling. DO NOT RUN THIS TEST ON SCSI OR IDE DRIVES.

[Auto Interleave]

    Run Auto Interleave to optimize hard disk performance.

    AMIDiag calculates the optimum interleave value by measuring 
    the data transfer rate for several interleave factors. 

    The hard disk is formatted with the interleave factor that
    has the fastest data transfer rate.

    DO NOT RUN THIS TEST ON SCSI OR IDE DRIVES.

[Media Analysis]

    The Media Analysis routine runs a series of tests to
    locate bad tracks.

    DO NOT RUN THIS TEST ON SCSI OR IDE DRIVES.

[Performance Test]

    The Performance Test determines the Data Transfer Rate,
    the Sequential Seek Time, and the Random Seek Time.

    The Data Transfer Rate is measured in kilobytes per second.
    The Seek times are measured in milliseconds.


[Seek Test]

    The Seek Test determines the head movement capability of
    the hard disk by seeking to a specified cylinder and
    head range. 

    A series of sequential seeks is performed, followed 
    by a series of random seeks.

[Read/Verify Test]

    This test performs sequential and random read and verify
    operations on the specified cylinder and head range.

[Check Test Cylinder]

    The last cylinder on the hard disk is the test cylinder.
    This test performs write and verify tests on all 
    sectors in the test cylinder. 

    If all sectors on the test cylinder are bad, BIOS POST 
    issues a "C (or D): Drive failure" message at system boot.

[Force Bad Tracks]

    This routine allows you to mark a set of tracks as faulty. 

    If you did not enter the bad tracks before performing 
    a low level format, use this option to enter bad tracks at
    any time.

[Diskette Format Test]

    This test determines the ability of the floppy disk
    controller to perform low-level formatting.

    It also determines the condition of the magnetic 
    media inside the diskette.


[Drive Speed Test]

    This test determines the rotational speed of the floppy
    drive.

    The ideal rotational speed, expressed in RPM
    (revolutions per minute), is:

    *    360 RPM for high density (1.2 MB or 1.44 MB) 
        drives, and 
    *    300 RPM for low density    (360 KB or 720 KB) drives.

[Random Read/Write Test]

    This test checks the random seek, read, and write
    capability of the floppy drive. 
    
    The diskette used in this test must be formatted.

[Sequential Read/Write Test]

    This test checks the sequential seek, read, and write
    capability of the floppy drive. 

    The diskette used in this test must be formatted.

[Disk Change Line Test]

    This test verifies the disk change line capability 
    of the floppy drive. 

    The disk change line is only found in high density 
    (1.44 MB or 1.2 MB) drives. It allows the operating 
    system to recognize that a diskette was
    removed from the drive and a new diskette inserted.

[Controller Test]

    The Controller Test issues a Self Test command to the
    keyboard controller and checks for an OK response.


[Scan/ASCII Code Test]

    The Scan/ASCII Code Test determines whether the pressed
    key matches its respective Scan and ASCII codes.

[Keyboard Clock Line Test]

    The Keyboard Clock Line Test verifies that the keyboard
    clock line is working properly. This test makes sure
    the keyboard clock line is not stuck on high or low).

[Keyboard Data Line Test]

    The Keyboard Data Line Test verifies that the keyboard
    data line is working properly. This test makes sure that the
    keyboard data line is not stuck on high or low.

[Adapter Test]

    This option tests the video display memory at B800h or B000h, 
    depending on whether the display adapter is color or monochrome. 
    Since random characters are written in the display memory and 
    then read back, the screen may show some irregular characters 
    and colors while the test is being executed.

    This test can be run with both monochrome and color display
    adapters.
    

[Attribute Test]

    This option tests the display attributes. It displays a
    screen with a blinking line, reverse video line, high
    intensity line and lines in eight colors. The screen is
    displayed in video mode 03h (video mode 07h is used 
    for monochrome).

    This test can be run with both monochrome and color display
    adapters.
    

[80x25 Display Test]

    This routine tests the 80x25 character set of the display
    adapter, displaying the entire character set in black and
    white, then in reverse video. The program uses video mode
    3 (7 for monochrome).

    This test can be run with monochrome and color display
    adapters.
    
[40x25 Display Test]


    This option tests the 40x25 character set of the display
    adapter, displaying the entire character set in black
    and white, then in reverse video. The program uses video
    mode 1 for this test.

    This test can be run with both monochrome and color display
    adapters.
    

[320x200 Graphics Test]

    This test displays a black and white 9 x 13 window and then
    redisplays it in reverse video. Then it displays a three
    color screen, a screen filled with random dots of random
    colors, then a blank screen, and finally 256 colors.

    This test uses video modes 04h and 13h.

[640x200 Graphics Test]

    This screen displays three black and white boxes, then displays
    a blank screen, then an all white screen filled with dots.
    The blank screen is then redisplayed.

    This test can be run only with color display adapters.
    

[Page Selection Test]

    Color display adapters usually have several pages on
    which text can be displayed. BIOS interrupt INT 10h function
    05h accesses different video pages.

    This test writes all 0s on page 0, all 1s on page 1,
    all 2s on page 2, and so on. Then it displays all video pages 
    to make sure each video page functions properly.

    This test can be run only with color display adapters.
    
[Color Test]

    This test displays all possible color combinations in
    the foreground, background, and border.

    This test can be run only with color display adapters.
    
[640x350 Graphics Test]

    This test displays a 16-color screen, then fills the
    screen with random colors, then again displays a blank
    screen.

    This test uses EGA video mode 0Fh if an EGA monochrome 
    monitor is detected. It uses EGA mode 10h if an EGA color 
    monitor is detected.

    This test can only be run with EGA or higher video
    adapter.
    

[640x480 Graphics Test]

    This test displays a 16-color screen, then fills the
    screen with random colors, then displays a blank screen.

    This test uses VGA mode 11h if a VGA monochrome monitor
    is detected. It uses VGA mode 12h if a VGA color monitor is
    detected.

    This test can only be run with VGA or higher video
    adapters.
    

[Serial Port Test]

    This test checks the serial ports found in the global
    memory locations 40:0 to 40:7. A maximum of four serial
    ports (COM1 through COM4) are tested. The communication
    parameters, such as the number of data bits, number of stop 
    bits, parity type, etc.) can be individually selected 
    for each serial port. All parameters can be entered in a
    single edit window.

    The serial port tests are:
    
    1  Register test,
    2  Interrupt ID test,
    3  Internal loopback test,
    4  Line status test,
    5  Modem control register test,
    6  Data transfer test (baud rates - 300 bps to 9600 bps),
    7  External loopback test.

[Parallel port test]

    This test checks the parallel ports found in the global
    memory locations 40:8 to 40:d. A maximum  of three
    parallel ports (LPT1 through LPT3) are tested. The
    test parameter window asks if a printer or external loopback 
    plug is connected. If none is connected, only the register 
    read/write test on the parallel port data buffer is 
    performed. Otherwise, the following tests are performed:
    
    1  Register test,
    2  IRQ activation test,
    3  Pattern printing,
    4  Bold letter printing,
    5  Compressed mode printing,
    6  Printer form feed test.

    If a printer is connected, check the printer output.
    If an external loopback is connected, there is no printed 
    output, but the response from the parallel port controller 
    is checked.

[Set/view run time parameters <F2>]

    Selecting this option is the same as pressing <F2>
    from the main menu. 

    This option allows you to specify different groups
    of parameters:

    *    Hard disk test parameters
    *    Hard disk types
    *    Floppy test parameters
    *    Batch mode parameters

    You can specify the physical dimensions of the hard disk as 
    well as the starting and ending cylinder numbers and head 
    numbers    where the tests will be executed.

[Load/save run time parameters <F7>]

    Selecting this option is the same as pressing <F7>
    from the main menu. 

    This option allows you to save certain run time parameters 
    in an ASCII file with a .SAV file extension, or to load 
    these parameters from a .SAV file.
    
    The parameters that are saved include information on the
    tests that have been selected for batch mode execution
    (by pressing <F3>, <F4>, or <F8>), the batch mode run time
    option (time bound, pass bound, or continuous), the error
    logging option, the error log file name and heading, and 
    other test parameters.

[System Information]

    This option allows you to run SYSINFO.EXE from 
    within AMIDiag. 

    SYSINFO.EXE displays memory block details, a software 
    interrupt summary, IRQ allocation information, CMOS 
    information, the contents of AUTOEXEC.BAT and 
    CONFIG.SYS files, and lots of other information.

    SYSINFO.EXE can also be run from the DOS command line 
    as a standalone program. 
    
[Configuration program]

    This program allows you to run CONFIG.EXE from within
    AMIDiag. CONFIG.EXE can also be executed from the DOS 
    command line.

    CONFIG allows you to define memory organization and CPU 
    components graphically, so that in case of error, the 
    exact location of the component is displayed on a 
    graphics screen in AMIDiag. 

    CONFIG also allows you to integrate cache controller 
    programs and user-defined diagnostic programs with AMIDiag. 

    CONFIG displays the faulty memory chip or CPU component when 
    called by AMIDiag via a special command line option. 

    It also loads or saves configuration data to or from an ASCII 
    file.

[Report generation]

    This option allows you to specify if error messages are 
    logged to a disk file, a printer, or a serial port.

    If you select "Yes" and the previous selection was "No", 
    type the name of the log file as well as an optional 
    ASCII header string for identification. 

    If you select "Yes" and the previous selection was "Yes"
    and the log file name is the same, choose whether the new
    error log file is appended to the old file or the old file 
    is rejected and a new error log file is started. 

    Similarly, if you select "No" and the previous selection 
    was "Yes", you must discard or save the old log file.

[Change color settings <F10>]

    This selection is the same as pressing <F10> from the 
    main menu. By repeatedly pressing <F10>, you can rotate 
    the color scheme and see the different color sets 
    available. 

    When you select a color set, press <Enter> to save that 
    color set and return to the main menu.

[Virus scanning]

    This is a new feature in AMIDiag that will let you SCAN
    whole or part of your disk for virus. This option will
    load the AMU(Anti-viral Maintenance Utility) that provides
    a graphical user interface for virus scanning.

[Toggle speaker on/off]

    This option allows you to enable or disable the system
    speaker. 

    If the speaker is disabled, memory tests and others tests 
    that issue beeps will run in quiet mode.

    The speaker can be enabled by selecting "Speaker on"
    in the dialog box displayed by this option. 

[DOS shell]

    This option allows you to return to the DOS prompt
    temporarily. 

    You can issue all DOS commands from the DOS shell. 
    Typing "Exit" from the DOS prompt returns to AMIDiag.

[Exit AMIDIAG]

    Select this option to Exit AMIDiag. You will have the option
    of either returning to DOS or system reset.

[CPU]

    CPU is acronym for Central Processing Unit. It is the
    brain of the computer, where building blocks for arithmetic
    and logical operations and control circuitry is located.

    In IBM PC market, the Intel 80x86 CPUs are most popular.
    Other vendors who are making 80x86-compatible CPUs
    include IBM, Cyrix, AMD, Texas Instrument etc.

[16 bit flags]

    The CPU flag is a special register which indicate the status
    of the operations done by CPU. The different elements of the
    flag register are the carry flag, the zero flag, the sign
    flag etc. For instance, when the CPU performs an ADD
    instruction, all the three flags mentioned before (carry flag,
    zero flag, etc.) is modified.

    The 80286 CPU flag register has 16 bits in it. The "16 bit
    flags" refer to a flag format compatible to 80286 CPU.

                 16 bit EFLAGS
     
             1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
             5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
            ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
            │ │N│I O│O│D│I│T│S│Z│ │A│ │P│ │C│
            │0│F│P L│F│F│F│F│F│0│0│F│0│F│1│F│
            │ │ │   │ │ │ │ │ │ │ │ │ │ │ │ │
            └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
             0 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0
     
     NF     Nested task flag (bit 14).
     IOPL   Input/Output privilege level (bits 13-12).
     IF     Interrupt enable flag (bit 9).
     TF     Trace flag (bit 8).
     SF     Sign flag (bit 7).
     ZF     Zero flag (bit 6).
     AF     Auxiliary Carry flag (bit 5).
     PF     Parity flag (bit 2).
     CF     Carry flag (bit 0).  

[32 bit flags]

    The CPU flag is a special register which indicate the status
    of the operations done by CPU. The different elements of the
    flag register are the carry flag, the zero flag, the sign
    flag etc. For instance, when the CPU performs an ADD
    instruction, all the three flags mentioned before (the carry flag,
    zero flag, etc.) is modified.

     80386 and above CPUs have 32 bits in the flag register. The 
    "32 bit flags" is a flag format compatible with these CPUs.

     32 bit EFLAGS
     
     3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
     1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
    ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
    │ │ │ │ │ │ │ │ │ │ │I│V│V│A│V│R│ │N│I O│O│D│I│T│S│Z│ │A│ │P│ │C│
    │0│0│0│0│0│0│0│0│0│0│D│I│I│C│M│F│0│F│P L│F│F│F│F│F│0│0│F│0│F│1│F│
    │ │ │ │ │ │ │ │ │ │ │ │P│F│ │ │ │ │ │   │ │ │ │ │ │ │ │ │ │ │ │ │
    └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0
     
    ID      Identification flag (bit 21).
    VIP     Virtual interrupt pending (bit 20).
    VIF     Virtual interrupt flag (bit 19).
    AC      Alignment check (bit 18).
    VM      Virtual 8086 mode (bit 17).
    RF      Resume flag (bit 16).
    NF      Nested task flag (bit 14).
    IOPL    Input/Output privilege level (bits 13-12).
    IF      Interrupt enable flag (bit 9).
    
[Protected mode]

    Intel 80286 and higher CPUs have two modes of operation: Real Mode 
    and Protected Mode.

    In Real Mode, the {CPU} behaves essentially like an Intel 8086 CPU. 
    In Real Mode, address space is limited to 1 Megabyte and only one 
    task can be executed at a time. No protection is available. 
    DOS runs in Real mode.

    Protected mode accesses up to 4 Gigabytes of memory (for 80386 
    and higher CPUs), multitasking, I/O privilege levels, and 
    protection. Protected Mode also has virtual 8086 mode to 
    emulate multiple 8086 machines running simultaneously. 
    OS/2 and Windows NT operate in protected mode only.

[Prefetch queue]

    While the Intel 80x86 CPU is executing one instruction, it
    can fetch subsequent instruction and store them in a queue, 
    to reduce overall execution time. The depth of this prefetch 
    queue varies from processor to processor. Even within the same 
    family, the 80386SX and DX prefetch queues are not the same size.

[DMA]

    Direct Memory Access (DMA) is the direct transfer of data to or 
    from a peripheral device such as a hard disk drive with no 
    intervention from the CPU.

    A DMA controller, when programmed, takes care of all DMA 
    transfer issues, such as DMA timing, number of bytes to transfer etc.

[Interrupt]

    An interrupt is a signal that stops what the CPU is currently
    doing, allowing the CPU to perform a higher priority task. An
    interrupt is usually generated by a peripheral device demanding
    attention. After the interrupt is serviced, the suspended task
    is resumed at the point it was stopped.

[RTC]

    The Real Time Clock (RTC) is found in all IBM AT-compatible 
    computers. It provides a separate clock source, independent 
    of the CPU clock speed, for updating the system date and time. 
    This clock source can also be used as an alarm. 

[CMOS]

    Complimentary Metal Oxide Semiconductor (CMOS) is a method of 
    fabricating integrated circuits (ICs). It is more frequently 
    used to specify an IC that has been produced by this method. 
    All CMOS ICs consume very little energy.

    The CMOS RAM in IBM AT-compatible systems stores vital
    system configuration data. The CMOS RAM is battery backed -
    its content remains intact even when the system is switched off.

[EISA]

    Extended Industry Standard Architecture (EISA) is a 32-bit 
    bus standard that enhances the existing 16-bit ISA bus.

    EISA also allows level-triggered interrupts, so the same 
    interrupt can be shared by more than one device.

[PCI]

    Peripheral Component Interconnect (PCI) is a popular local bus 
    standard. A local bus allows peripherals like the display 
    controller or disk controller to access the CPU bus directly, 
    permitting much faster operation than the traditional ISA 
    (Industry Standard Architecture) bus.


[PCMCIA]

   Personal Computer Memory Card International Association (PCMCIA)
   developed and maintains a standard for credit-card-sized 
   PC peripherals devices, called PC Cards.

   PC Cards, can include I/O controllers, memory, and mass storage
   devices. PC Cards are mostly used in AT-compatible notebook 
   computers. A major advantage is the PC Card size and portability.


[Plug&Play]

   Plug-and-play is a new computer industry standard that permits a
   computer to automatically configure system resources, foregoing the
   necessity for hardware switches and jumpers.
 

[Cache]

    Caching speeds access to information in a slower device by 
    storing a part of the slow devices information in a much
    faster device. 

    For example, ISA system memory uses DRAMs (Dynamic Random 
    Access Memory) with typical access times of 60 to 70 nanoseconds.
    However, if most memory accesses are to a 64 KB block of 
    system DRAM memory, the data in that 64 KB of DRAM can be 
    copied to cache memory.

    Cache memory uses SRAM (Static Random Access Memory) with 
    typical access time of 12 to 14 nanoseconds. 

    As long as the 64 KB block of data is not modified, the
    CPU can access this data from fast cache memory, permitting
    a significant boost in performance.

[Parity]

    Parity of a block of data storage in memory is the sum of all 
    bits set in the unit of memory. It is either odd or even. 
    In even parity,, the number of bits set to 1 must be odd. If 
    it is not, the data is in error.

    Computer memory is organized in bytes (collection of eight
    bits). The odd or even parity is maintained by adding a bit,
    called the parity bit. This bit is made 0 or 1 by the parity
    generation circuitry in such a way that the sum of all set
    bits including the parity bit is always kept even or odd.
    

[Help on help]

    There is no help on help.

